Generally, computer buses are devices that are employed to transfer data between a plurality of elements in a computer system, such as between a microprocessor and random access memory, or from a floppy disk drive to a cache. A limiting factor of computer system operation can be the effective rate of data transfer from a bus on one chip to a bus on another chip. Some forms of computer bus architecture allow for the passing of information from an integrated circuit (IC) to another IC through employment of a bus interface.
The bus interface can itself be a further bottleneck for data transfers. In some conventional bus interfaces, when a local cache requests data or makes some other query regarding the data, the data request is automatically forwarded to a remote IC that has caches, irrespective of whether the remote IC has a copy of the requested information. Furthermore, the remote IC responds to the data query and sends indicia of the status of the remote caches pertaining to whether or not each of the remote cache has the requested information. This continuous transfer of control data can lead to inefficiencies of design and use, as remote cache queries and responses are passed between the local IC and the remote IC through the bus interface.
Therefore, a bus interface system is needed that overcomes some of the deficiencies of conventional bus interface systems.